From 24dca5285ce4aad0f70b291af93cf8d4470b65d7 Mon Sep 17 00:00:00 2001 From: robertl Date: Sat, 17 Aug 2002 06:18:15 +0000 Subject: [PATCH] Add pdb_read2, correct sign extension. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@39 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/util.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gpsbabel/util.c b/gpsbabel/util.c index 7bdf8b4d2..e70bf7f54 100644 --- a/gpsbabel/util.c +++ b/gpsbabel/util.c @@ -66,13 +66,20 @@ fatal(const char *fmt, ...) /* * Read 4 bytes in big-endian. Return as "int" in native endianness. */ -int +signed int pdb_read4(pdb_32 *p) { - char *i = (char *) p; + unsigned char *i = (unsigned char *) p; return i[0] << 24 | i[1] << 16 | i[2] << 8 | i[3]; } +signed int +pdb_read2(pdb_16 *p) +{ + char *i = (char *) p; + return i[0] << 8 | i[0]; +} + void pdb_write4(pdb_32 *pp, unsigned i) { -- 2.30.2